Return-oriented programming (ROP) is a computer security exploit technique in which an attacker uses software controls to execute an attacker-chosen sequence of instructions. In an ROP attack, the attacker may chain together sequences of what are known as “gadgets.” Each gadget may represent a set of one or a few instructions followed by a return from procedure instruction. The attacker may analyze code such as applications, system-level code, drivers, libraries, and the like, to locate or identify desired gadgets. In some cases, the attacker may be able to identify enough gadgets to be able to string together and perform a variety of different malicious actions.